<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
	<title>处理人类语言 | Elasticsearch: 权威指南 | Elastic</title>
    <!-- Give IE8 a fighting chance -->
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
	<link rel="stylesheet" type="text/css" href="../static/styles.css" />
</head>
<body>
<div class="main-container">
    <section id="content">
        
        <div class="content-wrapper">
            <section id="guide" lang="zh_cn">
                <div class="container">
                    <div class="row">
                        <div class="col-xs-12 col-sm-8 col-md-8 guide-section">
                            <div style="color:gray; word-break: break-all; font-size:12px;">原文地址: <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/languages.html" rel="nofollow">https://www.elastic.co/guide/cn/elasticsearch/guide/current/languages.html</a>, 版权归 www.elastic.co 所有<br/>
                            英文版地址: <a href="https://www.elastic.co/guide/en/elasticsearch/guide/current/languages.html" rel="nofollow">https://www.elastic.co/guide/en/elasticsearch/guide/current/languages.html</a>
                            </div>
                        <!-- start body -->
                  <div class="page_header">
<b>请注意:</b><br>本书基于 Elasticsearch 2.x 版本，有些内容可能已经过时。
</div>
<div id="content">
<div class="breadcrumbs">
<span class="breadcrumb-link"><a href="index.html">Elasticsearch: 权威指南</a></span>
»
<span class="breadcrumb-node">处理人类语言</span>
</div>
<div class="navheader">
<span class="prev">
<a href="relevance-conclusion.html">« 调试相关度是最后 10% 要做的事情</a>
</span>
<span class="next">
<a href="language-intro.html">开始处理各种语言 »</a>
</span>
</div>
<div class="part">
<div class="titlepage"><div><div>
<h1 class="title">
<a id="languages"></a>处理人类语言<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elasticsearch-cn/elasticsearch-definitive-guide/edit/cn/02_Dealing_with_language.asciidoc">edit</a>
</h1>
</div></div></div>
<div class="openblock partintro">
<div class="content">
<div class="blockquote">
<table border="0" class="blockquote" summary="Block quote">
<tr>
<td valign="top" width="10%"></td>
<td valign="top" width="80%">
<p>“我认识这句话里的所有单词，但并不能理解全句。”</p>
</td>
<td valign="top" width="10%"></td>
</tr>
<tr>
<td valign="top" width="10%"></td>
<td align="right" colspan="2" valign="top">
-- <span class="attribution">Matt Groening</span>
</td>
</tr>
</table>
</div>
<p>全文搜索是一场 <em>查准率</em> 与 <em>查全率</em> 之间的较量—查准率即尽量返回较少的无关文档，而查全率则尽量返回较多的相关文档。

尽管能够精准匹配用户查询的单词，但这仍然不够，我们会错过很多被用户认为是相关的文档。
因此，我们需要把网撒得更广一些，去搜索那些和原文不是完全匹配但却相关的单词。</p>
<p>难道你不期待在搜索“quick brown fox“时匹配到包含“fast brown foxed“的文档，或是搜索“Johnny Walker“时匹配到“Johnnie Walker“， 又或是搜索“Arnolt Schwarzenneger“时匹配到“Arnold Schwarzenegger“吗？</p>
<p>如果文档 <em>确实</em> 包含用户查询的内容，那么这些文档应当出现在返回结果的最前面，而匹配程度较低的文档将会排在靠后的位置。
如果没有任何完全匹配的文档，我们至少可以给用户展示一些潜在的匹配结果；它们甚至可能就是用户最初想要的结果。</p>
<p>以下列出了一些可优化的地方：</p>
<div class="ulist itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
清除类似 <code class="literal">´</code> ， <code class="literal">^</code> ， <code class="literal">¨</code> 的变音符号，这样在搜索 <code class="literal">rôle</code> 的时候也会匹配 <code class="literal">role</code> ，反之亦然。请见 <a class="xref" href="token-normalization.html" title="归一化词元"><em>归一化词元</em></a>。
</li>
<li class="listitem">
通过提取单词的词干，清除单数和复数之间的差异—<code class="literal">fox</code> 与 <code class="literal">foxes</code>—以及时态上的差异—<code class="literal">jumping</code> 、 <code class="literal">jumped</code> 与 <code class="literal">jumps</code> 。请见 <a class="xref" href="stemming.html" title="将单词还原为词根"><em>将单词还原为词根</em></a>。
</li>
<li class="listitem">
清除常用词或者 <em>停用词</em> ，如 <code class="literal">the</code> ， <code class="literal">and</code> ， 和 <code class="literal">or</code> ，从而提升搜索性能。请见 <a class="xref" href="stopwords.html" title="停用词: 性能与精度"><em>停用词: 性能与精度</em></a>。
</li>
<li class="listitem">
包含同义词，这样在搜索 <code class="literal">quick</code> 时也可以匹配 <code class="literal">fast</code> ，或者在搜索 <code class="literal">UK</code> 时匹配 <code class="literal">United Kingdom</code> 。 请见 <a class="xref" href="synonyms.html" title="同义词"><em>同义词</em></a>。
</li>
<li class="listitem">
检查拼写错误和替代拼写方式，或者 <em>同音异型词</em> —发音一致的不同单词，例如 <code class="literal">their</code> 与 <code class="literal">there</code> ， <code class="literal">meat</code> 、 <code class="literal">meet</code> 与 <code class="literal">mete</code> 。 请见 <a class="xref" href="fuzzy-matching.html" title="拼写错误"><em>拼写错误</em></a>。
</li>
</ul>
</div>
<p>在我们可以操控单个单词之前，需要先将文本切分成单词，这也意味着我们需要知道 <em>单词</em> 是由什么组成的。我们将在 <a class="xref" href="identifying-words.html" title="词汇识别"><em>词汇识别</em></a> 章节阐释这个问题。</p>
<p>在这之前，让我们看看如何更快更简单地开始。</p>
</div>
</div>







</div>
<div class="navfooter">
<span class="prev">
<a href="relevance-conclusion.html">« 调试相关度是最后 10% 要做的事情</a>
</span>
<span class="next">
<a href="language-intro.html">开始处理各种语言 »</a>
</span>
</div>
</div>

                  <!-- end body -->
                        </div>
                        <div class="col-xs-12 col-sm-4 col-md-4" id="right_col">
                        
                        </div>
                    </div>
                </div>
            </section>
        </div>
    </section>
</div>
<script src="../static/cn.js"></script>
</body>
</html>